package com.cly.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cly.dto.ProblemInsertDto;
import com.cly.entity.Problem;
import com.cly.result.JsonRequest;
import com.cly.vo.ProblemDetailVo;
import com.cly.vo.ProblemVo;

import java.util.List;

/**
 * 题目表 服务类
 *
 * @author by 春风能解释
 * <p>
 * 2024-06-05
 */
public interface IProblemService extends IService<Problem> {

    /**
     * 分页查询题目
     *
     * @param current 页码
     * @param size    页长
     * @param problem 条件
     * @return JSON
     */
    JsonRequest<List<ProblemVo>> lookProblem(Integer current, Integer size, Problem problem);

    /**
     * 查看题目详情
     *
     * @param id ID
     * @return JSON
     */
    JsonRequest<ProblemDetailVo> lookProblemDetail(Long id);

    /**
     * 添加一条题目
     *
     * @param problem 题目实体
     * @return JSON
     */
    JsonRequest<Integer> addOneProblem(ProblemInsertDto problem);

    /**
     * 修改一条题目
     *
     * @param problem 题目实体
     * @return JSON
     */
    JsonRequest<Integer> updateOneProblem(ProblemInsertDto problem);

    /**
     * 批量删除题目
     *
     * @param ids id数组
     * @return JSON
     */
    JsonRequest<Integer> deleteProblems(List<Long> ids);

}
